

export function checkUsername(rule, value, cb){
  if(!value){
    cb(new Error('用户名不能为空'))
  }else if(value.length<3 || value.length>20){
    cb(new Error('用户名长度应为3-20'))
  }else{
    cb()
  }
}

export function checkPassword(rule, value, cb){
  if(!value){
    cb(new Error('密码不能为空'))
  }else if(value.length<6 || value.length>16){
    cb(new Error('密码长度应为6-16'))
  }else{
    cb()
  }
}


export function checkPhone(rule, value, cb){
  const phoneReg = /^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/
  if (!value) {
    cb(new Error('手机号不能为空'))
  }else if(!phoneReg.test(value)){
    cb(new Error('手机号格式不正确'))
  }else{
    cb()
  }
 
}

export function checkEmail(rule, value, cb){
  const mailReg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
  if (!value) {
    cb(new Error('邮箱不能为空'))
  }else if(!mailReg.test(value)){
    cb(new Error('邮箱格式不正确'))
  }else{
    cb()
  }
}

/*验证数字，包括整数和小数*/
export function checkNumber(rule,value,cb){

  const numReg = /^0$|(^[1-9]\d*$)|(^0\.\d+$)|(^[1-9]\d*\.?\d+$)/
  if(value===''){
    cb(new Error(rule.fname?rule.fname+'不能为空':'数字不能为空'))
  }else if(!numReg.test(value)){
    cb(new Error('非法数字'))
  }else{
    cb()
  }
}

/*验证整数*/ 
export function checkInteger(rule,value,cb){

  const numReg = /(^[1-9]\d*$)|0/
  if(value===''){
    cb(new Error(rule.fname?rule.fname+'不能为空':'数字不能为空'))
  }else if(!numReg.test(value)){
    cb(new Error('非法整数'))
  }else{
    cb()
  }
}

